/*
 * Created on 2005-5-29
 *
 */
package com.yl.cap.analyst.report.dao;

import jaoso.framework.dao.BaseDAO;

import java.util.Date;
import java.util.List;
import java.util.Set;

import com.yl.cap.analyst.report.domain.ReportLevel;
import com.yl.cap.analyst.user.domain.Group;


/**
 * @author ZhangQi
 *
 */
public interface ReportDAO extends BaseDAO
{
    public List getAllReport();
    
    public ReportLevel getHaveLevel(String accountId,String reportId);

    public String getReportCode(Set groups,String reportLevelId);
    
    public boolean haveReportCode(String groupId,String code);
    
    public List getManagerAvailablyReport(String roleId);
    
    public List getAvailablyReport(String accountId);
    
    public List getReportByName(String name);
    
    public List getReportByDate(Date date);
    
    public List getAllReportType();
    
    public ReportLevel getLevelByName(String reportId,String levelName);
    
    public List getUserByReport(String reportId);
    
    /*
     * get account's code set
     */
    public List getCodeList(String accountId);
}
